The present invention relates to a method and apparatus for embedding digital information in digital multimedia data. The invention also relates to a computer program product including a computer readable medium having recorded thereon a computer program for embedding digital information in digital multimedia data.
Over recent decades there has been a rapid growth in computers and digital communications networks. With this growth, the illegal distribution, duplication and the manipulation of digital or digitised multimedia content have become more and more common place. Even though such activity may violate copyright laws, it is still widespread. There is thus a need to protect the rights of owners who own these original multimedia data.
Similarly, there has also been a proliferation of exchange of sensitive data over public communications networks. Recently, digital signatures have been used to verify and authenticate the integrity of such data and identity the sender of the data. However there exists a need for invisible digital signature for images, which adequately represents the content of the images and further can be used for verifying whether the signed images have been modified.
In addition, there has been an associated growth in multimedia databases. Usually the stored multimedia data needs to be annotated (captioning). If the annotation can be associated with the content permanently, it will be convenient and safe for some applications such as medical image database.
Digital watermarking techniques can be applied to the above-mentioned applications, namely, for copyright protection, multimedia content authentication and multimedia content annotation. Although visible watermarks have been previously used, there is much promise for invisible digital watermarking techniques due to its unobtrusive nature. Regardless of particular applications, the following are the basic and common requirements for invisible watermarks. The watermark should be unobtrusive and not annoying to bona-fide users. The watermark scheme should be robust to some reasonable distortions during storage and transmission (such as compression, noise addition, format conversion, and bit errors). The watermark scheme should also be robust to some artifacts caused by signal processing operations (such as noise reduction, filtering, sharpening, and colour and intensity variations) It should also be secure against typical attacks such as colluding pirates who combine multiple versions of the same multimedia content that are stamped with different watermarks. Erasing the watermark or replacing the watermark by another watermark should be technically difficult.
Although these requirements are essential to practical applications, so far no one method or system is capable of fully satisfying the above conditions due to its so many unsolved problems and challenges.
It is an object of the present invention to ameliorate one or more disadvantages of the prior art.
According to one aspect of the invention, there is provided a method of embedding digital information in digital multimedia data, wherein said method includes the following steps: generating one or more transforms from the digital multimedia data or a portion of the digital multimedia data, wherein said transforms are dependent on the digital multimedia data or the portion of the digital multimedia data; generating transformed digital multimedia data by applying the one or more transforms to the digital multimedia data or the portion of the digital multimedia data; embedding the digital information in the transformed digital multimedia data; and generating the digital multimedia data embedded with the digital information by applying one or more inverse transforms of the one or more transforms to the embedded transformed digital multimedia data.
According to still another aspect of the invention, there is provided a method of embedding digital information in digital multimedia data, wherein said method includes the following steps: generating one or more transforms from the digital multimedia data or a portion of the digital multimedia data, wherein said transforms are dependent on the digital multimedia data or the portion of the digital multimedia data; generating transformed digital multimedia data by applying the one or more transforms to the digital multimedia data or the portion of the digital multimedia data; embedding the digital information in the one or more transforms or their inverses; and generating the digital multimedia data embedded with the digital information by applying one or more embedded inverse transforms to the transformed digital multimedia data.
According to still another aspect of the invention, there is provided a method of embedding digital information in a digital image, wherein said method includes the following steps: partitioning the image into blocks of pixels; clustering the partitioned blocks into classes according to a homogeneity criteria; selecting one or more of the clusters in accordance with HVS analysis; generating an associated Karhunen-Loeve (K-L) transform for each selected cluster, wherein the image blocks of each selected cluster are used as a vector population for the purposes of generating the associated K-L transform; applying the associated K-L transform to the image blocks of the selected cluster to produce corresponding transformed image blocks; embedding, for each selected cluster, the digital information in the associated K-L transform; and applying, for each selected cluster, an inverse transform of the embedded associated K-L transform to the transformed image blocks of the selected cluster.
According to still another aspect of the invention, there is provided a method of embedding digital information in a digital image, wherein said method includes the following steps: partitioning the image into blocks of pixels; clustering the partitioned blocks into classes according to a homogeneity criteria; selecting one or more of the clusters in accordance with HVS analysis; generating an associated Karhunen-Loeve (K-L) transform for each selected cluster, wherein the image blocks of each selected cluster are used as a vector population for the purposes of generating the associated K-L transform; applying the associated K-L transform to the image blocks of the selected cluster to produce corresponding transformed image blocks; embedding, for each selected cluster, the digital information in the selected transformed image blocks; applying, for each selected cluster, an inverse transform of the associated K-L transform to the embedded transform image blocks of the selected cluster.
According to still another aspect of the invention, there is provided a method of embedding digital information in a digital image, wherein said method includes the following steps: partitioning the image into blocks of pixels; clustering the partitioned blocks into classes according to a homogeneity criteria; selecting one or more of the clusters in accordance with HVS analysis; generating an associated Karhunen-Loeve (K-L) transform for each selected cluster, wherein the image blocks of each selected cluster are used as a vector population for the purposes of generating the associated K-L transform; applying the associated K-L transform to the image blocks of the selected cluster to produce corresponding transformed image blocks; selecting, for each selected cluster, either the associated K-L transform or its corresponding transformed image blocks for embedding; embedding, for each selected cluster, the digital information in the selected K-L transform or the selected transformed image blocks; applying, for those selected clusters in which the digital information has been embedded in the associated K-L transform, an inverse transform of the embedded associated K-L transform to the transformed image blocks of the selected cluster; and applying, for those selected clusters in which the digital information has been embedded in the transformed image blocks, an inverse transform of the associated K-L transform to the embedded transform image blocks of the selected cluster.
According to still another aspect of the invention, there is provided a method of embedding digital information in a plurality of images, wherein the images are stored and classified into one or more classes and said method includes the following steps: generating one or more transforms from the images of said respective one or more classes, wherein said transforms are dependent on the images; generating transformed images by applying the one or more transforms to the images of said respective one or more classes; embedding the digital information in the transformed images; and generating the images data embedded with the digital information by applying one or more inverse transforms of the one or more transforms to the embedded transformed images.
According to still another aspect of the invention, there is provided a method of embedding digital information in a plurality of images, wherein the images are stored and classified into one or more classes and said method includes the following steps: generating one or more transforms from the images of said respective one or more classes, wherein said transforms are dependent on the images; generating transformed images by applying the one or more transforms to the images of said respective one or more classes; embedding the digital information in the one or more transforms or their inverses; and generating the images embedded with the digital information by applying one or more embedded inverse transforms to the transformed images.
According to still another aspect of the invention, there is provided a method of embedding digital information into video images including a plurality of frames, wherein said method includes the following steps: extracting one or more key frames from the video images; generating one or more transforms from the key frames or a part thereof, wherein said transforms are dependent on the key frames or the part thereof; generating transformed key frames or part thereof by applying the one or more transforms to the key frames or the part thereof; embedding the digital information in the transformed key frames or part thereof; and generating the key frames or part thereof embedded with the digital information by applying one or more inverse transforms of the one or more transforms to the embedded key frames or part thereof.
According to still another aspect of the invention, there is provided a method of embedding digital information into video images including a plurality of frames, wherein said method includes the following steps: extracting one or more key frames from the video images; generating one or more transforms from the key frames or a part thereof, wherein said transforms are dependent on the key frames or the part thereof; generating transformed key frames or part thereof by applying the one or more transforms to the key frames or the part thereof; embedding the digital information in the one or more transforms or their inverses; and generating the key frames or part thereof embedded with the digital information by applying one or more embedded inverse transforms to the transformed key frames or part thereof.
According to still another aspect of the invention, there is provided a method of registering an image, wherein the method includes the following steps: extracting key points from the image and their invariant attributes; extracting other global information from the image; aligning the extracted key points and their invariant attributes with the global information; and encrypting the aligned information to provide an image signature.
According to still another aspect of the invention, there is provided a method of modifying a first image in accordance with an image signature, wherein the image signature includes encrypted key points of a second image and their invariant attributes and other aligned global information of the second image and the method includes the steps of: decrypting the image signature to obtain the key points and their invariant attributes and other global information of the second image; extracting key points and their invariant attributes from the first image; extracting other global information from the first image; matching the key points and their invariant attributes and other global information of the first and second images; and normalising the first image based on said matched key points and their invariant attributes and other global information.
According to still another aspect of the invention, there is provided a method of extracting digital information from first digital multimedia data having embedded therein said digital information, wherein said method includes the following steps: deriving one or more embedded transforms from a reference file, wherein said embedded transforms are dependent on second digital multimedia data or a portion thereof; deriving transformed digital multimedia data from the reference file, wherein said transformed digital multimedia data is dependent on the second digital multimedia data or a portion thereof; generating transformed digital multimedia data by applying one or more of the derived embedded transforms to the first digital multimedia data or a portion thereof; and correlating the generated transformed digital multimedia with the derived transformed digital multimedia to check whether the digital information embedded in the first multimedia data is the same as that derived from the reference file.
According to still another aspect of the invention, there is provided a method of extracting digital information from first digital multimedia data having embedded therein said digital information, wherein said method includes the following steps: deriving one or more transforms from a reference file, wherein said transforms are dependent on second digital multimedia data or a portion thereof; deriving transformed digital multimedia data from the reference file, wherein said transformed digital multimedia data is dependent on the second digital multimedia data or a portion thereof; generating embedded transformed digital multimedia data by applying one or more of the derived embedded transforms to the first digital multimedia data or a portion thereof; and correlating the generated embedded transformed digital multimedia with the derived transformed digital multimedia so as to extract the digital information.
According to still another aspect of the invention, there is provided a method of embedding digital information in a digital image, wherein said method includes the following steps: partitioning the image into blocks of pixels; clustering the partitioned blocks into classes according to a homogeneity criteria; selecting one or more of the clusters in accordance with HVS analysis; averaging, for each selected cluster, the blocks of pixels; embedding, for each selected cluster, the digital information in the averaged blocks; and replacing, for each selected cluster, the blocks with the embedded averaged block for that cluster.
According to still another aspect of the invention, there is provided a method of extracting digital information from an image having embedded therein said digital information, wherein said method includes; partitioning the image into blocks of pixels; clustering the partitioned blocks into classes according to a homogeneity criteria; selecting one or more of the clusters in accordance with information obtained from a reference file; retrieving, for each selected cluster, an average block of pixels stored in the reference file; averaging, for each selected cluster, the blocks of pixels of the image; and correlating, for each selected pixel, the averaged blocks of the image with the retrieved blocks to determine whether a watermark exists.
According to still another aspect of the invention, there is provided an apparatus for implementing any one of the aforementioned methods.
According to still another aspect of the invention there is provided a computer program product including a computer readable medium having recorded thereon a computer program for implementing any one of the methods described above.